package com.zhangtai.modules.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.zhangtai.config.LongJsonDeserializer;
import com.zhangtai.config.LongJsonSerializer;
import com.zhangtai.modules.entity.employee.SubEmployeeOverworkEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @author
 * @create 2020-12-08 6:04 PM
 * @desc 加班申请编辑或新建返回的dto
 **/
@Data
public class OverworkRecordDto implements Serializable {
    private static final long serialVersionUID = 1L;


    @ApiModelProperty("加班申请记录表主键")
    @JsonDeserialize(using = LongJsonDeserializer.class)
    @JsonSerialize(using = LongJsonSerializer.class)
    private Long id;

    /**
     * 申请时间
     */

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("申请时间")
    private Date createTime;


    /**
     * 申请人姓名
     */
    @ApiModelProperty("申请人姓名")
    private String oprationName;

    /**
     * 申请人id
     */
    @ApiModelProperty("申请人工号")
    private String oprationId;

    @ApiModelProperty("加班员工")
    private String employeeName;

    /**
     * 加班类型 0工作日加班  1周末加班  2节假日加班
     */
    @ApiModelProperty("加班类型 加班类型 0工作日加班  1周末加班  2节假日加班")
    private Integer overworkType;
    /**
     * 加班开始时间
     */
    @ApiModelProperty("加班开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    private Date overworkBeginTime;
    /**
     * 加班结束时间
     */
    @ApiModelProperty("加班结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    private Date overworkEndTime;

    /**
     * 加班开始时间
     */
    @ApiModelProperty("开始打卡时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date checkBeginTime;
    /**
     * 加班结束时间
     */
    @ApiModelProperty("结束打卡时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date checkEndTime;
    /**
    /**
     * 加班时长  单位天
     */
    @ApiModelProperty("加班时长")
    private BigDecimal overworkTotalTime;

    /**
     * 加班说明
     */
    @ApiModelProperty("加班说明")
    private String overworkRemark;

    //审批状态1待发起 2审批中 3审批通过 4审批拒绝

    private Integer satus;

    /**
     * 状态
     */
    @ApiModelProperty("状态:审批状态1待发起 2审批中 3审批通过 4审批拒绝")
    private Integer status;
}
